using JGSY.CMS.LowCode.Platform.Infrastructure.CmsDbContext;

namespace JGSY.CMS.LowCode.Platform.Infrastructure.Services.Database
{
    /// <summary>
    /// 延迟数据库上下文工厂接口
    /// 支持按需创建数据库连接，用于启动优化
    /// </summary>
    public interface ILazyDbContextFactory
    {
        /// <summary>
        /// 创建数据库上下文（延迟初始化）
        /// </summary>
        /// <returns>数据库上下文实例</returns>
        LowCodeDbContext CreateDbContext();
        
        /// <summary>
        /// 检查数据库是否可用
        /// </summary>
        /// <returns>数据库可用性状态</returns>
        bool IsDbAvailable();
        
        /// <summary>
        /// 获取数据库连接状态
        /// </summary>
        /// <returns>连接状态信息</returns>
        string GetConnectionStatus();
    }
}
